Default
Behavior of Drivers
In many
situations, the MCI command specifications define the default values and
behavior for drivers of a particular device type. Since multimedia devices can
have a wide range of features (and limitations), there can be undefined areas
of behavior. Also, drivers might handle exceptions differently, based on the
capabilities of the device.
For example,
consider the following commands sent to a waveform-audio driver:
mciSendString("open sound.wav alias
sound", lpszReturnString,
lstrlen(lpszReturnString), NULL);
mciSendString("play sound notify", lpszReturnString,
lstrlen(lpszReturnString), NULL);
mciSendString("record sound from 0 notify", lpszReturnString,
lstrlen(lpszReturnString), NULL);
The record command returns a Parameter
out of range value and stops the playback started by the previous play command. One might expect
the driver to validate the record command before stopping playback, but
the driver stops the playback first.